1. Field
This disclosure relates generally to booting a client and, more specifically to techniques for booting a stateless client.
2. Related Art
Small computer system interface (SCSI) standards define commands, protocols, and electrical and optical interfaces for physically connecting and transferring data between computers and peripheral devices. SCSI is most commonly used for hard disk drives and tape drives, but can connect a wide range of other devices, including scanners and compact disc (CD) drives. In computing, an Internet SCSI (iSCSI) protocol may be employed to allow clients (initiators) to send SCSI commands to SCSI storage devices (targets) at remote locations. In a typical implementation, iSCSI employs a transmission control protocol/Internet protocol (TCP/IP) suite for communication that allows two hosts to negotiate and then exchange SCSI commands using IP networks.
Generally, iSCSI is used to emulate SCSI over wide-area networks to create a storage area network (SAN). Unlike some SAN protocols, iSCSI does not require dedicated cabling and can be implemented over existing switching and IP infrastructure. Although iSCSI can communicate with arbitrary types of SCSI devices, system administrators usually use iSCSI to allow servers (such as database servers) to access disk volumes on storage arrays. iSCSI SANs are frequently employed to facilitate consolidation of storage resources across an organizational network to one or more central locations (e.g., data centers) to promote efficient storage allocation. In the context of computer storage, a SAN allows a client to use a network protocol to connect to remote storage resources, such as disks and tape drives on an IP network, for block level input/output (I/O).
From the point of view of class drivers and application software, SAN storage resources appear as locally attached storage devices. In general, employing an iSCSI boot facilitates localization and containment of hard disk drive (HDD) errors at a remote storage location (as diskless clients do not utilize local HDDs for booting), as well as the consolidation and streamlining of information technology (IT) management. Moreover, stateless clients may be readily reconfigured by booting the clients from different OS boot volumes, as needed.
In computing, a hypervisor (virtual machine monitor) is a virtualization platform that is typically utilized to execute multiple operating systems (OSs) simultaneously on a single computer system (client). Hypervisors are generally classified as a type 1 (native or bare-metal) hypervisor (which is software that runs directly on a given hardware platform, as an OS control program) that is a guest OS that runs at a second level above the hardware or a type 2 (hosted) hypervisor (which is software that runs within an OS environment) that is a guest OS that runs at a third level above the hardware.